In computing, random number generation is used to support cryptographic functions (such as data encryption and decryption). In some implementations, a dedicated hardware device is used to generate random numbers. This, in turn, adds to the cost of a computing system and may also add to its hardware complexity.